Arrangement for managing data center operations to increase cooling efficiency

ABSTRACT

A method includes a step of storing in a memory efficiency characteristic information for each of a plurality of air conditioning units in a location containing a plurality of server computers, the efficiency characteristic information including information representative of an efficiency performance curve for a range of variable cooling output. The method also includes identifying a current thermal load on each of the plurality air conditioning units. The method further includes employing the stored efficiency characteristic information and the current thermal load to identify a first air conditioning unit having a least additional power consumption required to increase cooling output. One or more processing units are employed to allocate one or more processing tasks to one of the plurality of server computers based on the identified first air conditioning unit.

This application is a continuation of U.S. patent application Ser. No. 12/435,401, filed May 4, 2009, which claims the benefit of U.S. Provisional Application Ser. No. 61/050,425 filed May 5, 2008, U.S. Provisional Application Ser. No. 61/050,429, filed May 5, 2008, and U.S. Provisional Application Ser. No. 61/050,420, filed May 5, 2008, all of which are incorporated herein by reference.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to U.S. Pat. No. 8,260,928, filed May 4, 2009, which is incorporate herein by reference.

FIELD OF THE INVENTION

The present invention relates generally to data processing centers, and more particularly, to the management of the operations of a data processing center.

BACKGROUND OF THE INVENTION

Data centers are parts of buildings or facilities in which a large number of server computers are located. The dense packing of the server computers results in the generation of a large amount of heat in a localized area. The data center must be cooled in a reliable manner in order to avoid the shutting down of, or damage to, the server computer hardware. Shutting down of server computers due to heat overload can cause significant economic loss.

Accordingly, specialized cooling units have been developed for implementation directly in data centers. These specialized cooling units are sometimes known in the art as computer room air conditioning units (“CRACs”) or computer room air handling units. In this disclosure, air conditioning unit or CRAC will be understood to encompass any device used to effect cooling in a data center. CRACs have been employed as a result of the fact that the ordinary HVAC systems of buildings are not optimally configured to handle the concentrated head generated with data centers. Thus, CRACs are often used in connection with, but in addition to, the ordinary cooling units of a building employed for human comfort systems.

Many CRACs have simple, embedded controls that adjust the unit output based on factors such as sensed ambient air temperature. In some cases, CRACs have controllers that interact with the building automation system that controls or includes the building HVAC system, among other things.

While CRACs provide a solution to the need for enhanced cooling power within a data center having several server computers, the power consumed by CRACs is significant. It is therefore desirable to reduce the power consumption associated with the adequate cooling of data centers.

SUMMARY

The present invention addresses the above identified needs, as well as others, by providing a method and arrangement that allocates processing tasks to servers based on the location of the servers with respect to air conditioning units. Moreover, embodiments of the invention allocate processing tasks to servers based on efficiency characteristics of air conditioning units within the data center. As a result, heat generated by the execution of processing tasks is advantageously distributed to the air conditioning units based on their efficiencies.

A first embodiment is a method that includes a step of obtaining efficiency characteristic information for each of a plurality of air conditioning units in a location containing a plurality of server computers. The method also includes employing one or more processing units to allocate one or more processing tasks to one of the plurality server computers based on the efficiency characteristic information.

In some embodiments, a first processing request is allocated to a first of the plurality of computers based on a thermal proximity of the first of the plurality of computers to a select one of the plurality of air conditioning units. In addition, the select one of the plurality of air conditioning units is selected based on the efficiency characteristic information.

A second embodiment is an arrangement that includes a computer server management system having a memory and processing circuit. The processing circuit is configured to coordinate the usage of a plurality of server computers. The memory stores efficiency characteristic information for a plurality of air conditioning units in a location containing a plurality of server computers. The processing circuit is further configured to allocate one or more processing tasks to one of the plurality of server computers based on the efficiency characteristic information.

The above described features and advantages, will become more readily apparent to those of ordinary skill in the art by reference to the following detailed description and accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a schematic block diagram of an exemplary arrangement according to a first embodiment of the invention implemented to coordinate application processing in an exemplary data center;

FIG. 2 shows a set of exemplary efficiency characteristic curves for air conditioning units in the data center shown in FIG. 1;

FIG. 3 shows an exemplary set of operations that may be carried in accordance with the present invention;

FIG. 4 shows in further detail an exemplary embodiment of at least one of the operations of FIG. 3; and

FIG. 5 shows in further detail a second embodiment of at least one of the operations of FIG. 3.

DETAILED DESCRIPTION

FIG. 1 shows an arrangement 100 according to an exemplary embodiment of the invention. The arrangement 100 is shown used in conjunction with a data center 102 that includes a plurality of server computers 104 ₁, 104 ₂ . . . 104 ₁₈ and a plurality of air conditioning units 106 ₁, 106 ₂, 106 ₃, and 106 ₄. The arrangement 100 includes a computer server management system 108 having, among other things, a memory 110 and a processing circuit 112. In this embodiment, the arrangement 100 further includes a BAS element 120, which is communicatively connected to the processing circuit 112.

Each of the server computers 104 ₁ to 104 ₁₈ is part of a set of computers that provide application processing services to at least one, and typically a large number of, client computers, not shown. The server computers 104 ₁ to 104 ₁₈ are typically arranged in racks and dispersed throughout the space of the data center 102. For example, as shown in FIG. 1, the server computers 104 ₁, 104 ₂, 104 ₃, 104 ₄, and 104 ₅ may be grouped on a first rack, the server computers 104 ₆, 104 ₇, 104 ₈, and 104 ₉ may be grouped on a second rack, the server computers 104 ₁₀, 104 ₁₁, 104 ₁₂, 104 ₁₃, and 104 ₁₄ may be grouped on a third rack, and the server computers 104 ₁₅, 104 ₁₆, 104 ₁₇, and 104 ₁₈ may be grouped on a fourth rack.

Each of the air conditioning units 106 ₁, 106 ₂, 106 ₃, and 106 ₄, is a computer room air conditioner or computer room air handler unit, collectively referred to as CRACs, or any air conditioning unit that may suitably be employed to specifically cool a data center or other area that is a high heat generator, and requires significant localized cooling. Such devices are well known in the art. In this embodiment, each of the air conditioning units (ACUs) 106 ₁, 106 ₂, 106 ₃, and 106 ₄ is operably coupled to the BAS element 120 such that the BAS element 120 can perform at least some measure of control over the operations of the ACUs 106 _(n). For example, if an ACU 106 _(n) has self-contained temperature sensing and control, the BAS element 120 may be operably connected to override the on/off local control, and/or to provide a set point to the ACU 106 _(n). Other ACUs may be configured for more extensive control by an external field controller of the building automation system. In either event, the BAS element 120 preferably is operably connected to provide overall management and/or control of the each of the ACUs 106 ₁, 106 ₂, 106 ₃, and 106 ₄.

The BAS element 120 is one or more devices that are configured to communicate with, and operate within, a building automation system such as an HVAC system or the like. Such systems are known in the art and may have a general architecture of the APOGEE™ system available from Siemens Building Technologies Inc. The BAS element 120 includes at least one processing circuit 140 and a memory 142. The BAS element 120 may suitably take the form of a supervisory work station in a BAS such as the INSIGHT™ work station available from Siemens Building Technologies, Inc., of Buffalo Grove, Ill. In the alternative, the BAS element 120 may suitably be a configurable field controller, such as the PXC Modular field controller, also available from Siemens Building Technologies, Inc. In general, the processing circuit 140 is configured via other circuits to communicate BAS data (such as set points, sensor values, and commands) with other BAS devices such as other controllers, or even with sensors and actuators. The BAS element 120 may further includes special digital or analog I/O devices as may be necessary to communicate with control elements of the ACUs 106 ₁, 106 ₂, 106 ₃, and 106 ₄. In this embodiment, the BAS element 120 is further operably connected to communicate information with the computer server management system 108, and particularly the processing circuit 112. To this end, a suitable data interface is provided between the BAS element 120, which is configured for a BAS system, and the computer server management system 108, which is typically not set up for communication with a BAS system.

The computer server management system 108 is a computing system that is generally configured to coordinate the usage of the plurality of server computers 104 ₁, 104 ₂. Such devices are generally known. To coordinate the server usage, the processing circuit 112 of the computer server management system 108 executes virtualization software 114. Virtualization software 114, as is known in the art, is software that, when executed by a computer processor, manages the allocation of application processes among a plurality of server computers, such as in a data center.

In accordance with this embodiment of the present invention, the processing circuit 112 is further configured to allocate application processes among the server computers 104 ₁, 104 ₂, etc. based on the efficiency characteristics of the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄. As will be discussed below in detail, the processing circuit 112 allocates applications processes among the server computers 104 ₁ to 104 ₁₈ such that the resultant heat generated by the processing of the applications is distributed among the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄ in a manner that takes into account the relative efficiencies of the units for different thermal load levels.

To this end, the memory 110 stores efficiency characteristic information for the plurality of ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄ in the data center 102. The efficiency characteristic information may suitably comprise part-load performance curves for each of the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄. For example, FIG. 2 shows exemplary graphs 202, 204, 206 and 208, each graph showing efficiency curves 212, 214, 216 and 218 for various loads. The x-axis as represents the cooling output, and the y-axis represents the power consumption.

The efficiency curves 212, 214, 216 and 218 may be generated in a plurality of ways, some depending on the type of air conditioning unit. In general, the curves may be generated by identifying the power consumption for a plurality of cooling output values. The curves 212, 214, 216 and 218 may be generated from the resultant data points via interpolation or curve-fitting techniques.

To obtain the data points, the cooling output is generally measured as the change in air temperature (ΔT) between the input and output of the ACU, multiplied by the air flow through the unit. The associated power consumption can be measured in various ways depending on the type of unit. If the unit is entirely self-contained (e.g. contains a compressor and refrigerant), the electrical power consumption of the ACU provides a good measure of the power consumption. If, however, the device relies on coolant provided and/or pumped from another source, such as chilled water, then the power consumption can be measured as the flow of coolant multiplied by the change in temperature of the coolant between the input and output of the ACU. The electrical power consumption of the unit's fan must also be added. Obviously, this measure of power consumption can be made more accurate by taking into account coolant transmission loss to and from the ACU, as well as other losses.

In any event, after various data points of cooling output versus power consumption are be obtained for each air-conditioning unit 106 ₁, 106 ₂, 106 ₃, 106 ₄, the efficiency curves 212, 214, 216, and 218 are generated using straight-line interpolation or curve-fitting may be used. In any event, data representative of the curves 212, 214, 216 or 218 is stored in the memory 110.

Referring again to FIG. 1, as discussed above, the computer server management system 108 is configured to allocate (via the virtualization software) one or more processing tasks to one of the plurality computer servers 104 ₁-104 ₁₈ based in part on the efficiency characteristic information of the air-conditioning units 106 ₁, 106 ₂, 106 ₃, 106 ₄. In a first exemplary operation, applications are directed to computer servers 104 _(n), 104 _(o), etc. based on the thermal proximity of the servers 104 _(n), 104 _(o), etc. to the air-conditioning units 106 ₁ to 106 ₄ and the stored efficiency characteristics of the air-conditioning units 106 ₁ to 106 ₄.

It will be understood that the phrase “thermal proximity” as used herein means an extent to which two items are thermally coupled, e.g. how much heat is transferable between them. For example, if a computer server is adjacent to the input of an ACU such that the unit receives and removes all of the heat generated by the computer server, then they are closely thermally coupled, and thus have a high degree of “thermal proximity”. While thermal proximity is often a result of physical proximity, it is possible for a server computer to be physically proximate to, but not very tightly thermally coupled to, a particular ACU. Relative thermal proximity between cooling devices such as ACUs and heat generating equipment in an environment such as a data center may readily be determined or at least estimated by those of ordinary skill in the art.

In any event, when an application is assigned to a server computer 104 _(n), the execution of the application causes that server computer 104 _(n) generate heat energy. The processing circuit 112 allocates the processing tasks such that the heat generated by the server computers 104 executing the processing tasks is distributed efficiently among the various ACUs 106 ₁, 106 ₂, 106 ₃ and 106 ₄.

By way of example, consider a situation in which 100 applications must be allocated to the server computers 104 ₁ to 104 ₁₈. In the prior art, one way to allocate the applications may be to simply allocate a substantially an equal number of applications to each of the processors, such that in this example each of the server computers 104 ₁ to 104 ₁₈ would have five or six of the one hundred applications. Alternatively, the allocation may be based on attempting to keep the busy-ness of each of the server computers 104 ₁ to 104 ₁₈ roughly equal. Thus, if a particular server computer 104 _(n) has a number of particularly computationally intensive tasks, it may have fewer overall applications. The computing speed and efficiency of the server computers 104 ₁ to 104 ₁₈ may also be taken into account. In either event, the prior art method can include more or less equal distribution of processing load among the server computers.

However, it may be the case that such an allocation does not result in efficient use of the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄. To this end, assume that the ACU 106 ₁ generally is responsible for cooling (i.e. is thermally proximate to) the server computers 104 ₁ to 104 ₅, the ACU 106 ₂ generally is responsible for cooling the server computers 104 ₆ to 104 ₉, the ACU 106 ₃ generally is responsible for cooling the server computers 104 ₁₀ to 104 ₁₄, and the ACU 106 ₄ generally is responsible for cooling the server computers 104 ₁₅ to 104 ₁₈. It may be the case that with the heat loading cause by a more or less equal allocation of applications among the processors 104 ₁ to 104 ₁₈ does not result in the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄ operating at their most efficient levels possible. Indeed, even assuming that the heat generated by server computers 104 ₁ to 104 ₁₈ is equally distributed among the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄, the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄ as a group may not be operating at their highest efficiency levels. In particular, each ACU 106 _(n) may have a different level at which they operate most efficiently, and may be more or less efficient that other units at various output levels. This is evidenced by the variability of the curves 212, 214, 216 and 218. Thus, in accordance with the present invention, the processing circuit 112 assigns the applications to the server computers 104 ₁ to 104 ₁₈ such that the heat is allocated in accordance with the combined efficient operating levels of the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄.

In a simple illustration, assume that at a certain average thermal load level, the first ACU 106 ₁ may be operating at a much more efficient level than the second ACU 106 ₂ another. In such a case, it might be advantageous to place more processing load on the server computers 104 ₁ to 104 ₅ because they are more thermally proximate to the more efficient first ACU 106 ₁, and place less processing load on server computers 104 ₆ to 104 ₉ because they are more thermally proximate to the less efficient ACU 106 ₂. However, at the same time, placing too much of the processing load on processors thermally proximate to the first ACU 106 ₁ and too little on the server computers thermally proximate to the second ACU 106 ₂ may also result in reduced efficiency. The processing circuit 112 thus uses efficiency information such as the curves 212, 214, 216 and 218 to distribute the heat load to the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄ in an efficient manner. The heat load is distributed to a particular ACU 106 _(m) by assigning processing tasks to server computers 104 _(n) that are thermally proximate to (i.e. tightly thermally coupled to) that ACU 106 _(m).

The processing circuit 112 is therefore configured to determine the allocation of at least some processes based on the efficiency characteristics of the four ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄. In general, such a determination is further dependent upon the thermally proximity of the server computers 104 ₁ to 104 ₁₈ to the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄.

FIG. 3 shows an exemplary embodiment of the general operations of the processing circuit 112 of FIG. 1. In step 305, the processing circuit 112 obtains efficiency characteristics for the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄. As discussed above, the efficiency characteristics may suitably comprise the part-load curves 212, 214, 216 and 218 of cooling output as a function of energy consumption, as illustrated in the graphs 202, 204, 206 and 208 of FIG. 2. Typically, the processing circuit 112 obtains this information via communications, or by user input, as a result of a set-up procedure for the data center 102. The processing circuit 112 stores the efficiency information in the memory 110. In some embodiments, the efficiency characteristics of the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄ may be stored in a memory of the BAS element 120, or another computer.

In step 310, the processing circuit 112 determines how to allocate the processing load based on the efficiency characteristics of the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄. To this end, the processing circuit 112 also has information that correlates the server computers 104 ₁ to 104 ₁₈ to the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄. For example, each server computer 104 _(n) is identified as having a thermally closest ACU 106 _(m). By thermally closest, it is meant that the heat load generated by the server computer 104 _(n) is borne primarily by that ACU 106 _(m), or in other words, the server computer 104 _(n) is most thermally proximate to the ACU 106 _(m).

In a more sophisticated embodiment, each server computer 104 _(n) may have a thermal impact function that consists of a weighted polynomial, wherein each term represents the thermal load bearing capacity of one of the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄. This embodiment acknowledges that the heat load generated by a server computer 104 _(n) may in some cases be handled, at least in part, but more than one of the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄. Such a thermal impact function for a server computer 104 _(n) would be expressed as: H _(total,n) =I _(1061,n) H _(total,n) +I _(1062,n) H _(total,n) +I _(1063,n) H _(total,n) +I _(1064,n) H _(total,n) wherein I_(1061,n), I_(1062,n), I_(1063,n), I_(1064,n) are weighting factors totaling 1, and H_(total,n) is the total heat generated by the server computer 104 _(n). The weighting factors represent the proportion of heat generated by the server computer 104 _(n) that is loaded on to each of the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄. For example, the server computer 104 ₁₅ may have weighting factors I_(1061,15)=0.02; I_(1062,15)=0.12; I_(1063,15)=0.01; and I_(1064,15)=0.85, while the server computer 104 ₁₂ may have weighting factors I_(1061,12)=0.02; I_(1062,12)=0.00; I_(1063,12)=0.9; and I_(1064,12)=0.08.

The processing circuit 112 then uses the computer server-ACU correlation information to distribute the processing tasks such that the heat load will cause the mix of ACUs 106 ₁, 106 ₂, 106 ₃, and 106 ₄ to be operating at a collectively best (or very good) efficiency load levels.

In a very simple example of step 310, the processing circuit 112 may execute an algorithm that starts with a first proposed task allocation, estimates the heat generated thereby, and then identifies the load on the conditioning units 106 ₁, 106 ₂, 106 ₃, and 106 ₄ using the server/ACU thermal proximity correlation information. Once the load on the ACUs 106 ₁, 106 ₂, 106 ₃, and 106 ₄ is estimated, the processing circuit 112 uses the stored efficiency information (e.g. curves 212, 214, 216 and 218) to calculate the overall efficiency (or power consumption value) for the first proposed task allocation. Thereafter, the processing circuit 112 generates a second proposed task allocation that is slightly (or significantly) different from the first proposed task allocation. The processing circuit 112 uses the same procedure to determine the overall efficiency of the second proposed task allocation. The processing circuit 112 repeats this process for additional proposed task allocations. The processing circuit 112 may also use any number of converging algorithms to solve for a best (or very good) proposed task allocation based on the overall efficiencies of the various proposed task allocations.

However, it will be appreciated that the allocation of tasks to achieve efficient heat loading of the ACUs 106 ₁, 106 ₂, 106 ₃, and 106 ₄ may be carried out in other ways. Some other ways are discussed below in connection with FIGS. 4 and 5.

Referring again to FIG. 3, once the processing circuit 112 determines the allocation of computing tasks in step 310, the processing circuit 112 in step 315 causes the allocation of the processing tasks in accordance with the determination. The operations of step 315 may be carried out using the known capabilities of computer server management systems. After step 315, the computer servers 104 ₁ to 104 ₁₈ may suitably execute the processing task that has been assigned to them.

In an optional step 320, the processing circuit 112 further communicates load information to the BAS control 120. The load information either identifies the overall processing load on the servers 104 ₁ to 104 ₁₈, any change in load on the servers 104 ₁ to 104 ₁₈, or any estimate of thermal load on the ACUs 106 ₁, 106 ₂, 106 ₃, and 106 ₄. The BAS control 120 in some cases may use this information to make proactive decisions on thermal cooling, or to control aspects of the ACUs 106 ₁, 106 ₂, 106 ₃, and 106 ₄ to accommodate any needed increase or decrease in cooling output.

FIG. 4 shows on example of the processing task allocation determination that may be used as step 310 in FIG. 3. The operations of FIG. 4 describe a processing task allocation determination that occurs incrementally during ongoing operation of the data center. More specifically, the operations of FIG. 4 may be used when new task or a new set of processing tasks are requested of the server computers 104 ₁ to 104 ₁₈. While the operations of FIG. 4 are described with respect to a single additional application or processing request, it will be appreciated that the steps of FIG. 4 may suitably be used with a group of additional processing requests.

In some cases, the processing circuit 112 can proactively determine where the next n applications should be assigned before the requests are actually received.

In step 405, the processing circuit 112 of the computer server management system 108 receives an additional processing request. To this end, from time to time, client computers that access the data center 102 provide requests for application tasks to be executed by one or more of the computer servers 104 ₁ to 104 ₁₈. Assuming that the additional processing request is non-trivial in nature, the processing circuit 112 proceeds to step 410 to determine an allocation for the task.

In step 410, the processing circuit 112 determines which of the ACUs 106 _(m) would handle additional heat load with the best efficiency. Such a determination may be carried out by identifying the current thermal load on each of the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄, and using the efficiency characteristics to identify the ACU 106 _(m) that would require the least amount of incremental additional power consumption to provide the additional cooling.

For example, referring to FIG. 2, assume that an existing heat loading on the 106 ₁, 106 ₂, 106 ₃, 106 ₄, is shown as point A on each of the graphs 202, 204, 206 and 208. It can be seen that slope increases as a function of inefficiency in the curves 212, 214, 216 and 218. In other words, the slope increases because more power is required to achieve incremental gains in cooling. Assuming a current thermal loading as indicated by points A in the graphs 202, 204, 206 and 208, the processing circuit 112 in step 410 of FIG. 4 would determine that the ACU 106 ₂ would handle the additional heat load resulting from additional processing best, compared to the ACUs 106 ₁, 106 ₃, and 106 ₄. The processing circuit 112 would make that determination because the slope of the curve 214 at point A is the minimum among those of curves 212, 214, 216 and 218.

Referring again to FIG. 4, after step 410, the processing circuit 112 executes step 415. In step 415, the processing circuit 112 causes the additional processing task to be allocated or assigned to one the server computers that is thermally proximate to (i.e. is cooled most by) the ACU 106 _(m) that was identified in step 410. In the exemplary operation of step 410 discussed above in connection with FIG. 2, the processing circuit 112 in step 415 would cause assignment of the additional task to one of the server computers (e.g. servers 104 ₆ to 104 ₉) that is thermally proximate or thermally closest to the ACU 106 ₂.

As discussed above, the processing circuit 112 may perform step 410 (and step 415) proactively, in anticipation of new request. In such a case, the result of steps 410 and 415 is to identify where the next n processing tasks will be assigned once they are received. The processing circuit 112 stores the generated information and assigns incoming processing task requests accordingly.

In general, the processing task assignment operation of FIG. 4, which is based on incremental efficiency, can result in adding new tasks in an energy efficient manner. However, the operations of FIG. 4 may not result in the overall best efficiency. For example, the operations of FIG. 4 do not necessary account for terminated processing tasks in a way that maximizes efficiency. Terminated tasks can reduce the thermal load in the data center. While the reduced thermal load due to termination of tasks is at least taken into account in step 410 (by considering the current thermal loading of the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄), the current state of the thermal loading on the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄ can be inefficient. The inefficiency can be due to the fact that terminations of tasks can drastically alter the thermal loading in ways that the mere incremental assignment of additional tasks cannot adequately compensate.

In addition, the operations of FIG. 4 presume that all (or at least a given set) of ACUs are currently on, and can be variably loaded to achieve an optimum result. In many cases, however, operation of less than all of the ACUs may be sufficient to handle the thermal load. The intelligent selection of which ACUs should be activated to handle certain levels of load can increase energy consumption efficiency.

To address the issues regarding the operations of FIG. 4, FIG. 5 shows a set of operations that may be used to allocate and/or reallocate existing application tasks to achieve thermal cooling efficiency. To this end, the operations of FIG. 5 determine which of the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄ should be activated for various overall thermal load levels in the data center 102. Once a best or near best ACU configuration is determined, the application processes may be allocated to the server computers 104 ₁ to 104 ₁₈ accordingly.

The steps of FIG. 5 may, but need not, be executed on a computer server management system 108 that also employs the steps of FIG. 4. The operations of FIG. 5 may be used as a part of step 310 of FIG. 3. To this end, the operations described below use load modeling to determine a most (or approximately most) efficient allocation of heat load (and consequently processing load) in the data center 102. The result of the operations of FIG. 5 identifies a best configuration ACUs to be turned on for a given thermal load TL for the overall data center 102. The computer server management system 108 may then assign or re-assign computer processing tasks among the server computers 104 ₁ to 104 ₁₈ in accordance with the identified ACU configuration.

Thus, in one example, the processing circuit 112 may first obtain from the BAS element 120 the current thermal load TL in the data center, based on loading of the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄. The processing circuit 112 may then execute the operations of FIG. 5 to determine if a better allocation of the existing processing tasks can achieve a more efficient loading of the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄.

Alternatively, the processing unit 112 may predetermine the best ACU configurations for a plurality of given thermal loads, and then store the results. Thus, the processing unit 112 may have stored in the memory 110 a plurality of data points of best (or near best) thermal load allocation among the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄ for a plurality of data center thermal load levels. Then, from time to time, the processing circuit 112 obtains the current thermal load TL and identifies a best thermal load model based on the stored data points.

As a consequence, the operations of FIG. 5 may be generated prior to actual data center operations, such that the results are stored for future use. Alternatively, the operations of FIG. 5 may be generated in quasi-real time, in response to receipt of actual calculated thermal load TL.

In step 505, the processing circuit 112 selects a configuration of ACUs to be activated for a given overall thermal load TL for the data center 102. In step 510, the processing circuit 112 determines a load ratio of the selected ACU configuration, LR_(comb), by dividing the TL value by the full loading capacity of the selected ACU configuration, MAXL_(comb). In other words, LR_(comb)=TL/MAXL_(comb) In step 515, the processing circuit 112 determines whether selected configuration is a valid combination based on the load ratio value LR_(comb). For example, if the configuration cannot adequately cool the data center 102 under the conditions of thermal load TL, then selected ACU configuration is not valid. In the current embodiment, the processing circuit 112 carries out step 515 by determining if the calculated load ratio LR_(comb) is between 0.3 and 1.0. If so, then the processing circuit 112 proceeds to step 520. If not, then the ACU configuration is not valid and the processing circuit 112 proceeds to step 525, discussed further below.

To reach step 520, it has been determined that the selected ACU configuration/combination is valid. In step 520, the processing circuit 112 determines the power draw for the selected ACU combination, PD_(comb). To this end, the processing circuit 112 may first determine, based on the efficiency characteristics for the ACUs 106 ₁, 106 ₂, 106 ₃, 106 ₄ (e.g. curves 212, 214, 216 and 218 of FIG. 2), the best allocation of the thermal load TL among the selected combination of ACUs. Using this best allocation of the load TL among the selected ACU combination, the processing circuit 112 then calculates the overall power draw for the selected combination, PD_(comb), by adding the individual predicted power draws for each of the ACUs in the selected ACU combination.

Thereafter, in step 530, the processing circuit 112 determines whether the power draw for the selected combination is lower than the current lowest power draw for all previously evaluated ACU combinations. In other words, the processing circuit 112 determines whether PD_(comb)<PD_(bestcomb) wherein PD_(bestcomb) is the power draw of the best combination of ACUs calculated thus far, for the current TL. If the answer in step 530 is negative, then the processing circuit 112 proceeds to step 525, discussed further below. If the answer in step 530 is positive, however, then the processing circuit 112 in step 535 stores the selected combination of ACUs as the current best combination for the load TL, and sets PD_(bestcomb)=PD_(comb). The processing circuit 112 then proceeds to step 525.

In step 525, the evaluation of the selected ACU configuration/combination for the data center load level TL is complete. In step 525, the processing circuit 112 determines whether there are any other combinations of ACUs to be evaluated. If so, then the processing circuit 112 returns to step 505 to select another configuration of ACUs. If not, then the evaluation is complete, and the processing circuit 112 in step 535 stores the ACU combination associated with PD_(bestcomb) as the appropriate ACU combination for the data center thermal load level TL.

The processing circuit 112 may subsequently allocate application processes such that the thermal load TL will be borne by the combination of ACUs that correspond to the PD_(bestcomb). In addition, as per step 320 of FIG. 3, the processing circuit 112 informs the BAS element 120 of the combination of ACUs that should be activated based on the current thermal load TL. Alternatively, the processing circuit 112 and/or the BAS element 120 may generate an advisory message for the plant operator indicating the combination of ACUs that should be activated.

In another embodiment, a set of operations may be performed from time to time to determine whether a reallocation of application processes among the server computers 104 ₁ to 104 ₁₈ may allow for one of the currently operating ACUs 106 _(n) to be shut down. The process involves calculating the maximum cooling capability (at an acceptable or maximum efficiency) of each online ACU unit. The total of the maximum capability from the on-line ACUs is then compared to the current actual thermal load to determine the spare capacity of the on-line ACUs. If the load of the least efficient on-line ACU drops below the spare capacity for a given time period, then the least efficient on-line ACU is shut down, and the processing tasks are reallocated among the server computers 104 ₁ to 104 ₁₈ accordingly.

It will be appreciated that the above described embodiments are merely illustrative, and that those of ordinary skill in the art may readily devise their own implementations and modifications that incorporate the principles of the present invention and fall within the spirit and scope thereof. 

We claim:
 1. A method, comprising: a) storing in a memory efficiency characteristic information for each of a plurality of air conditioning units in a location containing a plurality of server computers, the efficiency characteristic information including information representative of an efficiency performance curve for a range of variable cooling output; and b) identifying a current thermal load on each of the plurality air conditioning units; c) employing the stored efficiency characteristic information and the current thermal load to identify a first air conditioning unit having a least additional power consumption required to increase cooling output; d) employing one or more processing units to allocate one or more processing tasks to one of the plurality of server computers based on the identified first air conditioning unit.
 2. The method of claim 1, wherein step d) further comprises employing the one or more processing units to allocate a first processing task to a first of the plurality of server computers based at least in part on a thermal proximity of the first of the plurality of server computers to the first air conditioning unit.
 3. The method of claim 1, further comprising performing steps b) and c) responsive to receiving a processing request for the one or more processing tasks.
 4. The method of claim 1, further comprising communicating processing load information corresponding to the one of the plurality of server computers to a building automation system controller.
 5. The method of claim 4, further comprising using the building automation system controller to control an aspect of one or more of the air conditioning units based on the communicated processing load information.
 6. A method, comprising: a) storing in a memory efficiency characteristic information for each of a plurality of air conditioning units in a location containing a plurality of server computers, the efficiency characteristic information including information representative of an efficiency performance curve for a range of variable cooling output; b) estimating heat generated by a set of one or more processing tasks; c) determining one or more candidate power consumption values based on the estimated heat generated, the efficiency characteristic information, and a thermal impact function for each of the plurality of server computers, each thermal impact function identifying a thermal impact on each of the plurality of air conditioning units by heat generated by the corresponding server computer; and d) employing one or more processing units to allocate one or more processing tasks to one of the plurality of server computers based on the candidate power consumption values.
 7. The method of claim 6, wherein step c) further comprises: i) identifying a first proposed task allocation to a first server computer; ii) identifying a thermal load on the plurality of air conditioning units based on the thermal impact function corresponding the first server computer; iii) identifying a first candidate power consumption value based on the thermal load on the plurality of air conditioning units and the efficiency characteristic information; iv) identifying a second proposed task allocation to a second server computer; v) identifying a second thermal load on the plurality of air conditioning units based on the thermal impact function corresponding to the second server computer; and vi) identifying a second candidate power consumption value based on the second thermal load on the plurality of air conditioning units and the efficiency characteristic information.
 8. The method of claim 7 wherein step d) further comprises: selecting one of the first proposed task allocation and the second proposed task allocation based on the first candidate power consumption value and the second candidate power consumption value; and employing the one or more processing units to allocate the one or more processing tasks to the one of the plurality of server computers based on the selected one of the first proposed task allocation and the second proposed task allocation.
 9. The method of claim 7, wherein each thermal impact function of each of the plurality of server computers includes a weighting value for each of the plurality of air conditioning units.
 10. The method of claim 6, wherein each thermal impact function of each of the plurality of server computers includes a weighting value for each of the plurality of air conditioning units.
 11. The method of claim 6, further comprising communicating processing load information corresponding to the one of the plurality of server computers to a building automation system controller.
 12. The method of claim 11, further comprising using the building automation system controller to control an aspect of one or more of the air conditioning units based on the communicated processing load information.
 13. The method of claim 6, wherein the efficiency characteristic information includes information representative of a change in power consumption as a function of a change in the cooling output for an operating air conditioning unit.
 14. A method, comprising: a) identifying a first configuration a plurality of air conditioning units to be activated in a data center for a given thermal load; b) determining in a processor a load ratio for the first configuration, the load ratio comprising a ratio of the given thermal load to a full load capacity of the first configuration; c) determining in the processor if the load ratio is within a predetermined range; d) determining in the processor a first power draw associated with the first configuration of the plurality of air conditioning units cooling the given thermal load; e) communicating information external to processor corresponding to a selection of the first configuration of the plurality of air conditioning units, the selection responsive to a determination that the first power draw is lower than other power draws associated with other configurations of the plurality of air conditioning units cooling the given thermal load, and to the determination that the load ratio is in the predetermined range.
 15. The method of claim 14, further comprising, prior to step a), receiving the given thermal load from a building automation system device.
 16. The method of claim 14, wherein the predetermined range has an upper limit of 1.0.
 17. The method of claim 14, wherein the predetermined range has a lower limit of 0.3.
 18. The method of claim 14, wherein step d) further comprises: i) selecting one of a plurality of allocations of the given thermal load among the first configuration of the plurality of air conditioning units based upon efficiency characteristic information for each of a plurality of air conditioning units; ii) determining the first power draw based on a power draw corresponding to the selected allocation.
 19. The method of claim 18, wherein step i) further comprises selecting a best allocation of the plurality of allocations.
 20. The method of claim 14, wherein the step of communicating information includes generating an advisory message. 